【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】 |
您所在的位置:网站首页 › 图片拼接边缘融合 手机 › 【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】 |
相关文章: 【1】windows下安装OpenCV(4.3)+VS2017安装+opencv_contrib4.3.0配置 【2】Visual Studio 2017同时配置OpenCV2.4 以及OpenCV4.3 【3】opencv_contrib4.3.0库配置+opencv安装 【4】配置和运行Opencv常见的一些问题总结,以及bug解决。 【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】 【6】opencv采用映射技术实现鱼眼镜头校正和鱼眼镜头还原全景图。 本文出现的数据结果和码源见:https://download.csdn.net/download/sinat_39620217/18269470 特别提示:opencv安装配置详情请参考相关文章【1】【2】【3】【4】 OpenCV2.4.9实现图像拼接与融合三种方法【SURF ORB stitch 】 将四副分割图融合为一张完整的图片实现图像拼接具体步骤: 对每幅图进行特征点提取对对特征点进行匹配进行图像配准把图像拷贝到另一幅图像的特定位置对重叠边界进行特殊处理特征点提取 全景图像的拼接,主要是特征点的提取、特征匹配和图像融合;现在CV领域有很多特征点的定义,比如sift、surf、harris角点、ORB都是很有名的特征因子。为了提高拼接的速度和质量,本文在特征提取时采用了改进的特征提取的算法,基于可靠性检测的SURF 算法,特征点粗匹配时采用快速匹配法。 特征点定义:一幅图像中总存在着其独特的像素点,这些点我们可以认为就是这幅图像的特征 1. SURF(Speeded Up Robust Feature)SURF算法是对图像进行不同尺寸空间的高斯卷积,然后进行特征点的提取,但是SURF对图像步骤进行了近似替换和简化,降低了计算量。不仅具有很好的鲁棒性和准确性,实时性也提高了不少。 积分图像的生成设L(x, y)为原图中的像素点,其积分图像的面积等于该点到原点的所有点的总和,计算公式如下: 由上式可得,任意一块矩形区域(下图:计算积分图像)的积分面积可由式得: SURF 算法在积分图像的基础上,利用 Hessian 检测子进行特征点的求取。 (1)计算像素点I(x,y)在尺度s上的Hessian矩阵 然后离散化上面的高斯函数。 (2)SURF 特征向量的生成 首先以特征点为中心确定边长为 20s 的正方形区域,然后再划分为4×4 的小区域,每个小区域又分为5×5个采样点,最后用Harr小波计算每个小区域垂直和水平方向的响应,并统计5×5个采样点的总的响应,推导出下面的矢量 可得4×4×4=64维的SURF 特征的描述符,完成预处理后,再进行特征匹配。 //提取特征点 SurfFeatureDetector Detector(2000); vector keyPoint1, keyPoint2; Detector.detect(image1, keyPoint1); Detector.detect(image2, keyPoint2); //特征点描述,为下边的特征点匹配做准备 SurfDescriptorExtractor Descriptor; Mat imageDesc1, imageDesc2; Descriptor.compute(image1, keyPoint1, imageDesc1); Descriptor.compute(image2, keyPoint2, imageDesc2); FlannBasedMatcher matcher; vector matchePoints; vector GoodMatchePoints; vector train_desc(1, imageDesc1); matcher.add(train_desc); matcher.train(); matcher.knnMatch(imageDesc2, matchePoints, 2); cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |